世新大學九十二學年度日間部轉學生考試
學 系 別 |
考 試 科 目 |
資訊管理學系 |
電子計算機概論 |
* 考生請於答案卷內作答
一、 是非選擇題,每題兩分,答錯不倒扣。1~5題是非題,請用「○、Ⅹ」作答,6~10題選擇題,請用「A、B、C、D」作答 (20%)
1. 使用者可以自行設定IP位址,所以IP位址可被偽造,但MAC位址無法被竄改,所以可以利用網路封包的MAC欄位作為某電腦發送網路封包來源的証據。
2. 代理伺服器(Proxy Server) 必須具有網頁快取 (Cache) 的能力,如果沒 有,就不算是Proxy Server。
3. 當使用者在瀏覽器輸入http://abc.xyz.edu.tw/index.html時,實際上可以省 略 index.html 檔名,也就是說,僅輸入 http://abc.xyz.edu.tw/ 也可以得到相同的結果。
4. 如果電腦沒有安裝防毒軟體,只要將已被病毒感染的程式複製到硬碟,則該電腦就會中毒。
5. 使用 IE 瀏覽器上網閱讀網頁就有可能被惡意的網頁植入病毒,這是因為 IE 瀏覽器的設計問題。如果我們自行開發瀏覽器,不提供任何Script的執行,也不提供人和外部程式的啟動,更不會自動下載程式並執行。這樣的瀏覽器上網瀏覽網頁就不會因而中毒。
6. 在公開金鑰密碼系統中,如果我們所送出的文件只希望讓收訊者可以讀取,其他人都無法讀取,則要使用下列何項作加密?
(A)
自己的公開金鑰
(B) 自己的祕密金鑰
(C) 對方的公開金鑰
(D) 對方的祕密金鑰
7.
承上題,如果我們希望所送出的文件可以讓接收者驗証此訊息確實是由我們自己所發出,則要使用下列何項作簽署?
(A) 自己的公開金鑰
(B) 自己的祕密金鑰
(C) 對方的公開金鑰
(D) 對方的祕密金鑰
8. 在磁碟機陣列中,下列何者技術的可用儲存空間最大?
(A) RAID 0
(B) RAID 1
(C) RAID 5
(D) 都一樣大
9. 下列何者傳輸速率最大?
(A) UBS 2.0
(B) IEEE 1394
(C) Fast Ethernet
(D) 都一樣快
10. 下列何者錯誤?
(A) 一台電腦可以擁有多個 IP 位址。
(B) 一台電腦可以擁有多個領域名稱。
(C) 一台電腦可以擁有多個 MAC 位址。
(D) 以上皆非 (當A、B、C三者答案均不適合時,請選本項)
二、簡答題 : (40%)
1. 假設A、B、C三台電腦均連接在路由器D之下,其中A、B電腦在同一網段,C電腦在另一網段
:
(1) 當A電腦將資料封包發給B時,該資料封包的來源MAC、目的MAC、來源IP、目的IP分別是誰的?
(4%)
(2) 當A電腦將資料封包發給C時,該資料封包的來源MAC、目的MAC、來源IP、目的IP分別是誰的?
(4%)
(3) 當C電腦收到來自A電腦的資料封包時,該資料封包的來源MAC、目的MAC、來源IP、目的IP分別是誰的?
(4%)
(每小題四個項目請依序回答,回答時僅寫出「A、B、C、D」代碼即可)
2. 假設某生在本校student.shu.edu.tw (SMTP/POP3) 主機、中華電信 mail.hinet.net (SMTP/POP3) 主機及資策會mail.seed.net.tw (SMTP/POP3) 主機上均有a1234567帳號。某天,該生從資策會撥接上網,並想收取中華電信主機內的電子郵件,請問 :
(1) SMTP Server 應該設為什麼?
(2) POP3 Server應該設為什麼?
假設各個Mail Server 均不對外開放 Mail Relay。回答時,請利用A、B、C回答,其中A代表student.shu.edu.tw 主機,B代表 mail.hinet.net 主機,C代表mail.seed.net.tw 主機。(8%)
3.
(1) 請問OSI 模型的七層通訊協定是哪七層?請分別就第一層(最底層) 至 第七層(最頂層) 寫出來,限用英文全名回答,拼字錯誤或順序顛倒不予計分。
(2) 請問Router、Switch、Hub分別對應到第幾層?(回答數字即可,不必寫英文全名) (3%)
4. 寫出下列名詞的英文全名: (10%)
(1) HTML
(2) DNS
(3) POP3
(4) SSL
(5) IP
三、程式題 : (40%)
1. 以下是一個二元搜尋法的程式,請將空白處補足 (假設資料由小而大輸入)。(20%)
#include <stdio.h>
main ( )
{ int a [100], i, n, x, l, r;
scanf (“%d”, &n);
for (i=0; i<n;i + +)
scanf(“%d”, &a[i]);
scanf (“%d”, &n);
1= 0 ;
r = n - 1 ;
while (1 < = r)
{ i = ___(1)____;
if (a[i] = = x) ___(2)____;
else if (a[i] < x) ____(3)____;
else if (a[i] > x) ____(4)____;
}
if (____(5)____) printf (“Not Found!\n”);
else printf (“Found at %d\n”, i);
}
2. 以下是一個 C 副程式,可將字串 src 串接於字串 dst 之後。請將空白處補足。(16%)
void
concatenate(char *dst, char *src)
{ int i, j;
for (i = 0; ___(1)___; i+ +); / * 讓 i 指向dst 的尾端 */
for (j = 0; ___(2)___; j+ +) / * 當 src 尚未檢視完成就重複執行迴圈 */
___(3)____; / * 將 src 的內容複製到dst */
____(4)____; /
* 在 dst 尾端補上 NULL 字元 */
}
3. 在C 語言中,如何建立一個大小為 n 的一維整數陣列 a ? 該 n 值在執行時期由使用者所給定。請寫出相關的宣告及程式片斷。(4%)